﻿<?xml version="1.0" encoding="utf-8" ?>
<Arguments xmlns="http://schemas.microsoft.com/pag/gax-core">
  <!-- User Provided  -->
  <Argument Name="EntityName">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.CodeIdentifierStringConverter, Microsoft.Practices.RecipeFramework.Library" />
  </Argument>
  <Argument Name="EntityBase"  Required="false" Type="System.String">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.CodeIdentifierStringConverter, Microsoft.Practices.RecipeFramework.Library" />
  </Argument>
  <Argument Name="Property1" Required="false" Type="System.String">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.CodeIdentifierStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="DefaultValueProvider" Expression="Code" />
  </Argument>
  <Argument Name="Property2" Required="false" Type="System.String">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.CodeIdentifierStringConverter, Microsoft.Practices.RecipeFramework.Library" />
  </Argument>
  <Argument Name="Property3" Required="false" Type="System.String">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.CodeIdentifierStringConverter, Microsoft.Practices.RecipeFramework.Library" />
  </Argument>
  <Argument Name="Namespace">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="DefaultValueProvider" Expression="CurrentTarget" />
  </Argument>
  <Argument Name="IDType" Type="System.String" />
  <Argument Name="DaoBase" Type="System.String" />

  <Argument Name="IsCodeList" Type="System.Boolean" />
  <Argument Name="UseRootOnly" Type="System.Boolean" />
  <Argument Name="UseSimpleCodeList" Type="System.Boolean" />

  <Argument Name="IsOnlyMVC" Type="System.Boolean">
    <ValueProvider Type="DefaultValueProvider" Expression="False" />
  </Argument>

  <!-- Generated arguments -->
  <!-- Projects -->
  <Argument Name="ProjectEntity" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Entity" />
  </Argument>
  <Argument Name="ProjectCommon" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Common" />
  </Argument>
  <Argument Name="ProjectData" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Data" />
  </Argument>
  <Argument Name="ProjectBusiness" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Business" />
  </Argument>
  <Argument Name="ProjectModel" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Model" />
  </Argument>
  <Argument Name="ProjectController" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Controller" />
  </Argument>
  <Argument Name="ProjectRestApi" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.RestApi" />
  </Argument>

  <Argument Name="ProjectTests" Type="EnvDTE.Project, EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <ValueProvider Type="SolutionProvider" Expression="Project.Tests" />
  </Argument>

  <!-- Generated file names -->
  <Argument Name="EntityFile">
    <ValueProvider Expression="$(EntityName).cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="EntityFilterFile">
    <ValueProvider Expression="$(EntityName)Filter.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <Argument Name="IDaoFile">
    <ValueProvider Expression="I$(EntityName)Dao.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="DaoFile">
    <ValueProvider Expression="$(EntityName)Dao.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="HbmFile">
    <ValueProvider Expression="$(EntityName).hbm.xml" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <Argument Name="IFacadeFile">
    <ValueProvider Expression="I$(EntityName)Facade.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="FacadeFile">
    <ValueProvider Expression="$(EntityName)Facade.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="ValidatorFile">
    <ValueProvider Expression="$(EntityName)Validator.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <Argument Name="IModelFile">
    <ValueProvider Expression="I$(EntityName)Model.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="ModelFile">
    <ValueProvider Expression="$(EntityName)Model.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <Argument Name="IControllerFile">
    <ValueProvider Expression="I$(EntityName)Controller.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>
  <Argument Name="ControllerFile">
    <ValueProvider Expression="$(EntityName)Controller.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <Argument Name="TestFile">
    <ValueProvider Expression="$(EntityName)Test.cs" Type="Evaluator">
      <MonitorArgument Name="EntityName" />
    </ValueProvider>
  </Argument>

  <!-- Generated Namespaces (folder path) -->
  <Argument Name="EntityNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectEntity.Properties.Item('DefaultNamespace').Value)" />
  </Argument>
  <Argument Name="CommonNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectCommon.Properties.Item('DefaultNamespace').Value)" />
  </Argument>
  <Argument Name="DataNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectData.Properties.Item('DefaultNamespace').Value)" />
  </Argument>
  <Argument Name="BusinessNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectBusiness.Properties.Item('DefaultNamespace').Value)" />
  </Argument>
  <Argument Name="ModelNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectModel.Properties.Item('DefaultNamespace').Value).Models" />
  </Argument>
  <Argument Name="ControllerNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectController.Properties.Item('DefaultNamespace').Value).Controllers" />
  </Argument>
  <Argument Name="RestApiNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectRestApi.Properties.Item('DefaultNamespace').Value)" />
  </Argument>

  <Argument Name="TestNS">
    <Converter Type="Microsoft.Practices.RecipeFramework.Library.Converters.NamespaceStringConverter, Microsoft.Practices.RecipeFramework.Library" />
    <ValueProvider Type="Evaluator" Expression="$(ProjectTests.Properties.Item('DefaultNamespace').Value)" />
  </Argument>
  <Argument Name="WebControlNamespace">
    <ValueProvider Expression="$(Namespace).$(EntityName)" Type="Evaluator">
      <MonitorArgument Name="Namespace" />
    </ValueProvider>
  </Argument>
</Arguments>